package com.sw.c.controller;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.sw.c.common.Result;
import com.sw.c.pojo.dto.DishDto;
import com.sw.c.pojo.entity.Dish;
import com.sw.c.service.DishService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;

/**
 * 菜品管理(Dish)表控制层
 *
 * @author makejava
 * @since 2024-09-27 11:05:30
 */

@Api(tags = "菜品管理")
@RestController
@RequestMapping("/dish")
public class DishController {
    /**
     * 服务对象
     */
    @Resource
    private DishService dishService;

    /**
     * 菜品管理分页查询数据
     * @param dto 参数
     * @return 分页数据
     */
    @ApiOperation(value = "菜品管理分页列表")
    @PostMapping("getPage")
    public Result<IPage<Dish>> getPage(@RequestBody DishDto dto) {
        return Result.success(this.dishService.page(dto));
    }

    /**
     * 通过主键查询单条数据
     *
     * @param id 主键
     * @return 单条数据
     */
    @ApiOperation(value = "菜品管理单条数据")
    @GetMapping("{id}")
    public Result queryById(@PathVariable("id") Long id) {
        return Result.success(this.dishService.queryById(id));
    }

    /**
     * 新增数据
     *
     * @param dish 实体
     * @return 新增结果
     */
    @ApiOperation(value = "菜品管理新增数据")
    @PostMapping("/add")
    public Result add(Dish dish) {
        return Result.success(this.dishService.insert(dish));
    }

    /**
     * 编辑数据
     *
     * @param dish 实体
     * @return 编辑结果
     */
    @ApiOperation(value = "菜品管理编辑数据")
    @PostMapping("/update")
    public Result update(Dish dish) {
        return Result.success(this.dishService.update(dish));
    }

    /**
     * 删除数据
     *
     * @param id 主键
     * @return 删除是否成功
     */
    @ApiOperation(value = "菜品管理删除数据")
    @PostMapping("/deleteById")
    public Result deleteById(Long id) {
        return Result.success(this.dishService.deleteById(id));
    }

}


